package org.jeecg.modules.oms.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.oms.entity.DesignTask;

import java.util.List;
import java.util.Map;

/**
 * 设计任务Service接口
 */
public interface IDesignTaskService extends IService<DesignTask> {
    
    /**
     * 创建设计任务
     * @param designTask 设计任务信息
     * @return 是否成功
     */
    boolean createTask(DesignTask designTask);
    
    /**
     * 分页查询设计任务
     * @param page 分页参数
     * @param queryParams 查询条件
     * @return 分页结果
     */
    Page<DesignTask> pageDesignTasks(Page<DesignTask> page, Map<String, Object> queryParams);
    
    /**
     * 获取我的待处理任务
     * @param personId 人员ID
     * @return 任务列表
     */
    List<DesignTask> getMyPendingTasks(String personId);
    
    /**
     * 分配任务
     * @param taskId 任务ID
     * @param assignPersonId 分配人ID
     * @param assignPersonName 分配人姓名
     * @return 是否成功
     */
    boolean assignTask(String taskId, String assignPersonId, String assignPersonName);
    
    /**
     * 处理任务
     * @param taskId 任务ID
     * @param handlePersonId 处理人ID
     * @param handlePersonName 处理人姓名
     * @return 是否成功
     */
    boolean handleTask(String taskId, String handlePersonId, String handlePersonName);
    
    /**
     * 完成任务
     * @param taskId 任务ID
     * @return 是否成功
     */
    boolean completeTask(String taskId);
} 